home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 10 / FM Towns Free Software Collection 10.iso / fb386 / lib / powergui / powergui.ggg < prev   
Text File  |  1995-03-30  |  5KB  |  136 lines

  1.  
  2.  
  3.   Power GUI system
  4.  
  5.    C”( C two prime ) 4th edition [  Duplicate me! mix  ]
  6.  
  7.  (後注:開発が間に合わなくて、今回はβバージョンとなっております。)
  8.  
  9.  
  10.                                              for F-BASIC 386 V2.1 L10 以降
  11.                                              Programmed by Hirotaka Matsuoka
  12.  
  13.  
  14.  本作品は、F-BASIC 386 用のGUIシステムです。
  15.  
  16.  「ユーザーにはもちろん、プログラマーにも優しい環境」、を開発コンセプトに、
  17.  
  18.        ●設計基盤
  19.  
  20.        ●部品の種類
  21.  
  22.        ●デザイン
  23.  
  24.        ●プログラムの可読性
  25.  
  26.        ●設定項目の簡略化(極力コンピュータに決めさせる)
  27.  
  28.        ●GUIファイルセレクタの調達
  29.  
  30.  の全てにおいて、頭一つ抜け出た、安定したBASIC用GUIアプリを作成できます。
  31.  
  32.  後注: といえるはずだったのですが、諸事情により、ファイルセレクタは未完成
  33.     です。
  34.  
  35.      とはいっても、
  36.  
  37.         ボタン
  38.         ウィンドウ
  39.         アイコン
  40.         オリジナルフォント表示
  41.         スクロールバー無しのリストメニュー
  42.  
  43.      は、許容範囲内で動くので、また、できるだけ早く発表したいと思ったた
  44.     め、発表する事にしました。
  45.  
  46.      また、本パッケージ内の説明書は、完成している事を前提に書いています
  47.     ので、βバージョンである本パッケージでは、説明書と食い違う部分も、ま
  48.     ま、あります。
  49.  
  50.      しかも、のんびり説明書を書いている時間もない状態なので、説明不足な
  51.     点もあるかと思いますが、βバージョンという事でお許し下さい。
  52.  
  53.      もし、説明書の不備で使い方が分からない場合には、速攻で作ったサンプ
  54.     ルプログラムがありますので、そちらをご参考下さい。
  55.  
  56.      正直言って、時間に関してはそこそこ苦しい中での作成だったのですが、
  57.     出さないというのもなんなので、出させていただきました。
  58.  
  59.      なーんてヨタ話はさておき、説明書に戻るっぺよ。
  60.  
  61.  
  62.  特に、部品の設定項目の簡略化ぶりと、プログラムの可読性の高さは注目すべきで、例を挙げるなら、例えば、ウィンドウを開く場合なんか、
  63.  
  64.  
  65.     < プログラム >            < 注 釈 >
  66.  
  67.     PGUI_NAME$ = "メニュー"      ' NAME$ --- 部品に名前を付けられる
  68.     PGUI_TYPE$ = "WINDOW"        ' TYPE$ --- 部品の種類
  69.   PGUI_FORM$ = "T-OS"          ' FORM$ --- 部品の形、ここでは Towns OS 型
  70.   PGUI_POS$  = "中央"          ' POS$ ---- 部品の座標、ここでは中央
  71.   PGUI_WX    = 200             ' WX / WY - 部品の大きさ
  72.   PGUI_WY    = 100
  73.     GOSUB *PGUI_ENTRY            ' 設定後は登録を行い、有効にする。
  74.  
  75.     PGUI_NAME$ = "メニュー"      ' 登録したウィンドウの名前を指定して、
  76.     GOSUB *PGUI_WIN_OPEN         ' ウィンドウをオープン
  77.  
  78.  
  79.  と、これをみれば、だれでも、
  80.  
  81.     TOWNS OS 型のウィンドウを真ん中に 200×100 ドットの大きさで開く
  82.  
  83.  ということが、分かると思います。また、横にボタンを2つ並べる場合も、
  84.  
  85.  
  86.  1つ目が
  87.  
  88.   PGUI_TYPE$ = "BUTTON"
  89.     PGUI_FORM$ = "ROUND"
  90.     PGUI_DISP$ = "取 消"           '  DISP$ ---- 表示する文字列
  91.     PGUI_SX    = 100
  92.     PGUI_SY    = 120
  93.     GOSUB *PGUI_ENTRY
  94.  
  95.  
  96.  と設定されていれば、2つ目以降は
  97.  
  98.  
  99.     PGUI_DISP$ = "実 行"
  100.     PGUI_POS$  = "さっきの左"
  101.     GOSUB *PGUI_ENTRY
  102.  
  103.  
  104.  というような、変態的な日本語指定が可能です。
  105.  
  106.  (後注:このような指定は、本バージョンでは、ウィンドウ位置に「中央」のみが
  107.      指定可能です。βバージョンという事でお許し下さい。)
  108.  
  109.  なお、この設定だと、「実 行」「取 消」と表示された、角の丸いボタンが、2つ並んで表示されます。
  110.  
  111.  そして、プログラム中では、
  112.  
  113.     IF PGUI_RETURN$ = "実 行" THEN ・・・・・・
  114.  
  115.  というように指定した日本語が返ってくるのを待つだけですから、これなら、初心者のあなたも、即、GUIの恩恵にあずかれる事でしょう。
  116.  
  117.  また、ここでは、ボタンの大きさを特に指定しませんでしたが、大きさは、表示文字数から自動で決まります。
  118.  
  119.  もちろん、大きさの指定や、表示内容の部品内座標、ボタンの表示位置、等々は、任意でも指定できますが、そんな事はコンピュータがするべき事です。
  120.  
  121.  
  122.    ・・・なんていうコンセプトで開発されたのが、このプログラムです。
  123.  
  124.  
  125.  確かに、ウィンドウがスタック型だとか、構造上、処理がちょっと重い、といった問題もありますが、そろそろ Pentium が標準か・・・なんていう御時世ですので、(P6も今年中には出るみたいだし・・・Pentium の2倍の速さだとか・・・すごい。)互換モードのインタプリタでの動作が少し重いなんてことは、枝葉末節です。
  126.  
  127.  また、本プログラムでは、GUIレイアウタでデザインすると、プログラムの骨組みが出力されて・・・というのを嫌ったため、分岐やプログラム全体の設計は、あくまでもプログラマーがやります。
  128.  
  129.  とはいえ、作り始めの段階で、突然「このボタンを押した時に呼び出されるサブルーチンの名前を決めてください」なんて要求してくるレイアウターを考えれば、BASICプログラマーには、このほうが扱いやすいと思います。
  130.  
  131.  
  132.  他のBASIC用GUIシステムを駆逐すべく開発されたこのシステム。BASICプログラマーの方は必見ですよっ。
  133.  
  134.  (後注:でもβバージョンなんだよなぁ)
  135.  
  136.